An enterprise resource planning (ERP) system is a software system designed to support and automate an organization's business processes. ERP systems are often touted as attempts to provide a single solution for integrating business processes across an organization, or even across an entire supply chain, tying inventory control systems, manufacturing resource planning, sales and order management, marketing, purchasing, warehouse management, financial and managerial accounting, and human resource management so that all business processes are at the fingertips of corporate executives. In effect, ERP is an attempt to reduce all aspects of a business to a model that can then be tested, simulated, modified, refined, and examined so that a corporate manager can increase the efficiency of the entire business.
The use of ERP systems has increased business efficiency, especially for large, complex manufacturing operations. By providing the ability to simulate various scenarios, ERP systems assist managers to more effectively handle business process problems such as shortages, labor problems, quality control problems, etc. In short, by reducing business processes to a model of resources and constraints, ERP systems provide a tool for viewing the current state of an operation and a test bed for considering modifications to business processes.
Conventional ERP systems provide a mechanism for companies to perform Manufacturing Resource Planning (MRP) and Distribution Resource Planning (DRP), separately analyzing and planning for demand and supply.
A supply chain includes individuals and organizations that manufacture, assemble, and distribute products and materials including suppliers, manufacturers, distributors, wholesalers, retailers, and consumers, as well as the relationships between them. In a supply chain, one participant's supply is another's demand. While it can be useful to analyze supply and demand separately when looking at a company in isolation, it is useful to consider demand and supply simultaneously to evaluate the efficiency of an entire supply chain. Several vendors realized this need and developed supply chain management (SCM) systems to assist in planning, scheduling, and control of supply chains. Examples of commercially available SCM systems include those marketed by Manugistics™, I2™, Baan™, SAP™, PeopleSoft™, and Oracle™. Most of these systems attempt to optimize supply chains with the goal of reducing inventories. In addition companies such as Ariba™ and Commerce One™ have developed approaches to linking businesses together to reduce transaction costs by providing tools for creating business-to-business electronic commerce marketplaces.
Instead of focusing inward on the business processes within an enterprise as done by conventional ERP systems, SCM systems focus outwards on the supply chain as a whole, taking into consideration data from various enterprises participating in the supply chain. Conventional supply chain management systems provide great improvements over ERP systems in that they provide faster response and they consider supply and demand constraints simultaneously.
However, SCM system, just as conventional ERP systems operate by treating business process modeling and simulation as a scheduling problem. A business is modeled as a collection of resources and constraints whereby a company must determine how best to use its limited resources to achieve the largest benefit attainable. By solving the scheduling problem, conventional ERP and SCM systems attempt to provide a fully-ordered plan that optimally solves the problem presented to it.
Scheduling is a subproblem of the more general problem of planning. To characterize this, the following definitions are broadly accepted:
Scheduling subproblem: given a set of activities a1 . . . an, with precedent relationships aj>ak, and a set of resources r1 . . . rm needed to perform the activities, what is the best allocation and ordering of the activities and resources. Best is normally expressed as the optimal value of some expression J(ri) that is related to the cost of the resources used and the benefits obtained.
Planning subproblem: given one or more objectives, what is the best set of activities a1 . . . an and what are the precedence relationships aj>ak that exist between them to accomplish the desired objectives.
Clearly, these definitions imply that the scheduling subproblem cannot be approached until after the planning subproblem has been solved. In addition, each of these subproblems, when formulated for real-world cases other than relatively trivial textbook examples, are easily within the class of problems known in computing theory as NP-Complete.
Current approaches to ERP and SCM typically assume a static set of activities as the business model. In pursuing a resource allocation, these ERP and SCM optimization processes can change attributes of activities, such as start and end times and allocation of resources to activities, but conventional ERP and SCM systems do not seek to change the set of activities themselves. This static set of activities defines a static business model.
Unfortunately, a static business model cannot be completely accurate and cannot account for all contingencies. Often, the optimal schedule is not the best means to handle the uncertainties of the real world because it is not the most robust. In the real world, requirements and resources are not static. The operation of a business is a dynamic process and it is desirable to provide a supply chain management system that can better handle the inevitable changes that confront a corporate manager every day.
Determining an optimal schedule is often inefficient because the available resources and constraints in real-world problems change over time. Before an optimal plan is carried out, a change will often force reconsideration and recalculation of that plan. Because solving the optimal scheduling subproblem is typically very computationally expensive, changes may occur in the pre-conditions before the result can even be calculated. Optimal schedulers do not have a mechanism for graded levels of commitment to activities and their parameters. When a change occurs, the entire schedule must be re-computed. As a result, a small change in input values to the optimal scheduler can produce a large change in the resulting schedule. Activities that were once possible to schedule may now become unscheduled.
A supply chain management system that creates a partially ordered plan with graded levels of commitment is desirable. Such a system could quickly calculate the next action to take without expending the resources necessary to calculate a so-called “optimal” plan. In addition, such a system can maintain important commitments while rearranging other activities to accommodate changes. Attempts to create and implement an optimal schedule often require numerous modifications to the schedule before reaching the end.
Additionally, as business processes become more complex and as models become more detailed, the optimal planning mechanisms of conventional SCM systems take longer and longer to complete a so-called “optimal” plan that will probably need to be modified. It is therefore desirable to provide a planning mechanism that is faster than conventional optimal, fully-ordered planners. Corporate managers desire fast, perhaps even real-time feedback to cope with dynamic business situations.
Conventional SCM systems aggregate data from each participant to a central data repository. Once data has been collected, these systems use a centralized process to analyze the data and implement any collaboration. In a perfect world with static data, complete information, and perfect business models, conventional SCM systems are excellent tools for determining an optimal plan. However, in the real world with incomplete information, overly simplified business process models, and ever-changing resources and constraints, conventional SCM systems are inadequate. There is a need for a distributed system without central control whereby participants can maintain control over their own data. Within this system, participants can analyze the data available to them and that made available by other supply chain participants from the perspective of an individual participant that can freely choose how to collaborate with his business partners.
Each participant in a supply chain can benefit by using an SCM system; however, the SCM system needs information about each participant's business to be effective. If the system does not have access to the resources and constraints of a participant, it cannot assist in improving the supply chain with regard to that participant. On the other hand, the data used by the SCM system is often very sensitive business data. In many supply chains, participants may be competitors, or they may not trust some or all of the other participants. There is a desire for a SCM system that provides a data security mechanism so that a participant can precisely control access to its sensitive business data.
Conventional SCM systems allow supply chain participants to collaborate by storing data from various sources in a common data repository. Once the data has been collected, a company can analyze the data together to reach consensus. There is a desire for a SCM system that can perform real-time collaboration and “what-if” analysis using data provided by multiple supply chain participants.
Conventional SCM systems allow participants to collaborate by pooling data and then analyzing the pooled data together by computing an optimal supply chain plan. In many situations, this model of collaboration is insufficient; an optimal supply chain as determined by conventional SCM systems is not always in the best interest of an individual participant or the chain at large. This is because the conventional SCM systems based on static activity models treat costs and benefits as zero-sum quantities. That is, in order for one participant to increase his gain, others must reduce their gains.
However, if activities themselves can be changed, opportunities can be found to increase the total gain, not merely reallocate it. Instead of obtaining an optimal plan for the entire chain, a participant is more interested in determining how changes by others will affect that participant and how changes by that participant will affect others. For example, a supplier would be very interested in knowing that a delivery of parts on April 1 instead of April 15 would save another participant 5 cents for each unit delivered. With this knowledge, the supplier can negotiate a more favorable price. For example, the participant may be willing to give the supplier 3 cents more per unit if he is able to save 2 cents per unit. It is desirable to provide a system that can determine how changes in activities made by one supply chain participant will affect the costs of others.
Each participant, acting freely in his informed best interest, may still change his activities in a way that is harmful to his supply chain partners. Often, well-intentioned changes in business plans produce unwanted side effects that reduce the potential benefits or increase the costs of the supply chain. It is desirable to provide a system that can automatically detect and analyze conflicting activities within the supply chain and alert those affected.
Additionally, conventional SCM systems includes user interfaces that permit participants to visualize the entire supply chain. As SCM systems grow, a user can quickly become inundated with data. There is a desire for an intelligent graphical user interface that can determine the intent of a user and adjust the display accordingly to display items most pertinent to that user.
Several patents disclosing SCM systems have been issued by the United States Patent and Trademark Office. For example, U.S. Pat. No. 5,953,707 to Huang et al. (the '707 patent) discloses a system that allows a decision maker to view a supply chain and generate an integrated production, sales, and inventory plan. The 707 patent discloses a way to provide dynamic decision support to users; however, the system does not refer to knowledge explicitly and it is module oriented rather than goal oriented. The system disclosed in the '707 patent would benefit from the use an intent interpreter and a planner that uses decomposition planning to plan activities within the chain as disclosed in the present invention.
Additionally, U.S. Pat. No. 5,974,395 to Bellini et al. (the '395 patent) discloses a system for extended enterprise planning across a supply chain planning engine. The '395 patent suffers from the deficiencies described above. For example, it uses a constraint-based, centralized planning engine without any support for conflict detection.
It is desirable to provide a system and method for intelligent supply chain collaboration that overcomes the problems, weaknesses, and deficiencies found in conventional SCM systems.